@media screen and (max-width: 768px) {
  /* Hide all decorative shapes on mobile */
  .decorative-shape,
  .decorative-shape-1,
  .decorative-shape-2,
  .decorative-shape-3,
  .decorative-shape-left,
  .decorative-shape-right {
    display: none !important;
  }

  /* Main header and mini-nav fixed to top */
  #header,
  .mini-nav {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 1002 !important;
  }
  #header {
    top: 0 !important;
    z-index: 1003 !important;
  }
  .mini-nav {
    top: 56px !important;
    margin-top: 0 !important;
    height: 30px !important;
    z-index: 1002 !important;
  }

  /* Header layout: logo/title left, hamburger button far right */
  header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
    height: 56px !important;
    min-height: 56px !important;
    width: 100% !important;
    background: #fff !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1003 !important;
  }
  header .logo, header .site-title, header h1 {
    flex: 0 1 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    font-size: 1.25rem !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* Hamburger menu button (mobile-menu-button) black, visible, clickable */
  .mobile-menu-button {
    display: block !important;
    background: none !important;
    border: none !important;
    font-size: 2.2rem !important;
    color: #111 !important; /* black hamburger always */
    cursor: pointer !important;
    margin-left: auto !important;
    padding: 8px 14px !important;
    z-index: 1005 !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
    order: 2 !important;
    filter: none !important;

    /* Smooth transition and animate hamburger */
    transition: transform 0.3s ease, opacity 0.3s ease;
    will-change: transform, opacity;
  }
  /* If using svg or icon for hamburger, force black */
  .mobile-menu-button svg,
  .mobile-menu-button i {
    color: #111 !important;
    fill: #111 !important;
  }

  /* Animate hamburger transform when overlay open */
  body.mobile-menu-open .mobile-menu-button {
    transform: rotate(90deg) scale(1.1);
    opacity: 0.8;
  }

  /* Hide navigation links on mobile */
  header nav,
  nav,
  .desktop-nav,
  .main-nav,
  .primary-nav {
    display: none !important;
  }

  /* Add top margin to hero sections so header does not overlap */
  .hero, #hero, .hero-section, .main-hero {
    margin-top: 56px !important;
  }
  .mini-nav + .hero,
  .mini-nav + #hero,
  .mini-nav + .hero-section,
  .mini-nav + .main-hero {
    margin-top: 86px !important; /* header 56px + mini-nav 30px */
  }

  /* Hamburger overlay, initially hidden */
  .mobile-menu-overlay {
    display: none !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: #fff !important;
    z-index: 2000 !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    overflow-y: auto !important;
    transition: opacity 0.25s ease, visibility 0.25s ease;
    opacity: 0 !important;
    visibility: hidden !important;
  }
  .mobile-menu-overlay.active {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .mobile-menu-overlay nav,
  .mobile-menu-overlay .mobile-nav-links {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    margin: 0 auto !important;
    width: 100% !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 64px 0 0 0 !important;
  }
  .mobile-menu-overlay nav a,
  .mobile-menu-overlay .mobile-nav-links a,
  .mobile-menu-overlay a {
    display: block !important;
    font-size: 1.25rem !important;
    text-align: left !important;
    padding: 20px 28px !important;
    color: #111 !important;
    border: none !important;
    background: none !important;
    width: 100% !important;
    text-decoration: none !important;
  }

  /* Overlay close button */
  .mobile-menu-close {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    font-size: 2.4rem !important;
    background: none !important;
    border: none !important;
    color: #111 !important;
    z-index: 2010 !important;
    cursor: pointer !important;
    line-height: 1 !important;
    width: 48px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    /* Fade-in for close button */
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
  }
  .mobile-menu-overlay.active .mobile-menu-close {
    opacity: 1;
    transform: translateY(0);
  }

  /* Prevent background scroll when the menu is open */
  body.mobile-menu-open {
    overflow: hidden !important;
    position: fixed !important;
    width: 100% !important;
  }

  /* Only scale images in footer and radio slider on mobile */
  footer img,
  .footer img {
    width: 100% !important;
    max-width: 320px !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
  }
  .slider img,
  .slides img,
  .slide img,
  .slide2 img {
    width: 100% !important;
    max-width: 100vw !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }
}

/* Desktop view: hide hamburger button and disable pointer events */
@media screen and (min-width: 769px) {
  .mobile-menu-button,
  .mobile-menu-close,
  .mobile-menu-overlay {
    display: none !important;
    pointer-events: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }
}
